1. Field of the Invention
This invention relates to the field of mass storage devices.
2. BACKGROUND ART
Information is written on data storage disks in concentric tracks which are accessed by read/write heads. To accurately access the data tracks, servo information is also written onto storage disks, and provides positioning information for the read/write heads. The servo information is also ordinarily written in concentric tracks. In a multiple disk storage environment, one entire surface of a storage disk may be dedicated to servo information. A servo head accesses the servo surface or the servo disk to read the position information stored thereon. Since the servo head is in a fixed relationship relative to the read/write heads, the position of the servo head can be used to indicate the position of the read/write heads. An alternative to a dedicated surface for servo information is a "sector" servo pattern. In a sector servo scheme, pie-shaped wedges of servo information are interweaved between sections of data information.
The servo information permits the definition of the individual data tracks on the data surfaces of the disk drive. The data tracks may be further divided into a plurality of smaller fields, or "sectors". Because storage disks are used as random access memory in many applications, such as personal computers, related information may not always be written in consecutive fashion in the individual tracks. In addition, as old data is removed and new data added, it is not always possible to write new data in adjacent sectors or even adjacent tracks. Therefore, it is important for the disk drive to be able to quickly and accurately access individual tacks and individual sectors of the track.
One method of providing accurate sector positioning uses a counter which continuously monitors sector position once an initial validation has been achieved. In this scheme, the counter is reset once per revolution at a predefined "index" point on each servo track, and is incremented as the track rotates under the servo head. At constant intervals, the counter generates "sector marks" which fix the beginning of individual data sectors. Independently of the sector counter, another counter is used to continuously monitor track position. This "track counter" is bidirectional. It is reset at a predefined "track zero" position of the servo head and is incremented or decremented as the head crosses individual servo tracks while seeking.
The sector counter together with the track counter provides a method for accurately identifying locations on the servo surface. If, however, because of system noise or other perturbation the sector count or the track count become corrupted, subsequent locations will be incorrectly identified until the corresponding validation point causes the corrupted counter to be resynchronized. For this reason, this method of "relative position sensing" is considered to be unreliable when used without an independent method of location verification.
One method for independently verifying the location is to precede each data sector on each data track with a "header" field which contains identifier ("ID") information which is unique to that sector over the entire drive. A typical identifier includes the track number, sector number, and for a drive with multiple data heads, the head number. The header may also contain other information related to media defects and redundancy information for error detection. During operations for reading or writing data, the controller reads the header of each data sector as it is encountered and applies various tests to the information contained therein, including comparison of the ID which was read to the ID which was expected. If the various tests are passed and the ID read matches the ID expected, then the subsequent data part of the sector is read or written appropriately. Because each sector is uniquely and independently identified, then the incorrect identification of any sector will not affect the correct identification of any subsequent sector. Thus, this method of location verification is considered to be reliable and is well-known in the prior art.
However, this method has at least three disadvantages:
1. The headers occupy media space which might otherwise be used for data, consequently both storage efficiency and channel efficiency are degraded;
2. The necessity to read a header before reading or writing its associated data usually requires an "inter-sector gap" (ISG) before each header to allow the write current of the selected data head to decay after writing the previous sector;
3. The means to read and evaluate the header information, together with the means to detect the various modes of failure and the associated means of failure recovery, are complex.
Consequently, a method is desired which does not have these disadvantages but which does provide sufficient information for reliable and accurate location verification.
In the past, the pulses of servo patterns have been distributed into a number of different fields which perform different functions. Thus, prior art servo patterns may include a field to provide information for reference clock synchronization, a field for track folliwing and track crossing information, and a field for position information. However, the division of servo patterns into fields of distinct functionality severely limits the ability to provide precise position information. It is, therefore, desirable to provide a servo pattern in which all of the pulses perform all of the functions of prior art servo patterns, thereby providing relatively more pulses which may be used for position information.
To achieve high data transfer rates with low cost disk drives, system architectures have been developed which use parallel data transfer on multiple serial data channels. In a typical system of this type, a multiplicity of disk drives, each with a single data channel, are attached to a central controller which commands the disk drives in a parallel manner. In operation, the controller divides the transfer of a data entity among the multiple data channels in order to decrease the total transfer time. The decrease in the transfer time, then, results in a beneficial increase in the effective transfer rate.
However, modern operating systems frequently require that a data entity be written and read as a series of individual fragments of a fixed size. These fragments are usually called "blocks". When a controller divides blocks among the multiple disk drives, and headers and ISG's are used on each disk drive as described above, then storage and channel efficiency are degraded still further. This is because each drive has its own associated header and ISG for a data entity. The percentage of space for a fixed data entity used for these headers is greater in a parallel drive scheme. Thus, it is especially desirable to remove headers and ISG's from the data tracks of disk drives in systems using parallel transfer methods.